package com.vue3.blog.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Mr.小朱同学
 * @version 1.0.0
 * @date 2025/6/9 19:05
 * @description 博客文章实体类
 */
@Data
@TableName("sys_article")
public class ArticleEntity implements Serializable {
    /**
     * 文章唯一标识（主键）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 发布文章的用户ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 文章标题
     */
    @TableField("title")
    private String title;

    /**
     * 文章简介
     */
    @TableField("brief")
    private String brief;

    /**
     * 文章封面（图片地址）
     */
    @TableField("cover_image")
    private String coverImage;

    /**
     * 文章内容
     */
    @TableField("content")
    private String content;

    /**
     * 文章分类ID
     */
    @TableField("category_id")
    private Long categoryId;

    /**
     * 浏览数
     */
    @TableField("views")
    private Integer views;

    /**
     * 点赞数
     */
    @TableField("likes")
    private Integer likes;

    /**
     * 创建时间
     */
    @TableField("created_time")
    private Date createdTime;

    /**
     * 发布时间
     */
    @TableField("published_time")
    private Date publishedTime;

    /**
     * 最后更新时间
     */
    @TableField("updated_time")
    private Date updatedTime;

    /**
     * 文章状态（0-草稿，1-已发布，2-已删除）
     */
    @TableField("status")
    private Integer status;
}